package edu.northwestern.cbits.purple.notifier;
import java.io.IOException;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.RemoteViews;
public class ImageWidgetProvider extends PurpleWidgetProvider
{
public static final String NAME = "IMAGE_WIDGET_UPDATE";
public static final String WIDGET_LAUNCH = "config_widget_image_launch";
public static void setupWidget(Context context, int widgetId, Intent intent)
{
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.layout_image_widget);
Bundle extras = intent.getExtras();
AppWidgetManager widgets = AppWidgetManager.getInstance(context);
String image = extras.getString("image");
Uri imageUri = null;
try
{
if (image.trim().length() > 0)
imageUri = Uri.parse(image);
}
catch (NullPointerException e)
{
}
if (imageUri != null)
{
try
{
remoteViews.setImageViewBitmap(R.id.widget_image_image, PurpleWidgetProvider.bitmapForUri(context, imageUri));
}
catch (IOException e)
{
e.printStackTrace();
}
}
Intent tapIntent = new Intent(WidgetIntentService.WIDGET_ACTION);
tapIntent.putExtras(intent);
tapIntent.putExtra("widget_action", "tap");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, widgetId, tapIntent, PendingIntent.FLAG_CANCEL_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.widget_image_layout, pendingIntent);
try
{
widgets.updateAppWidget(widgetId, remoteViews);
}
catch (NullPointerException e)
{
e.printStackTrace();
}
}
}